The arinc653 interface is capable of specifying a domain in the schedule (from
the toolstack) before the domain itself exists, or is present in the cpupool
(The domain is identified by UUID rather than domid). As a result, the
schedule can't be validated at this point.
The vcpu_id from userspace is only ever used to compare against a list of real
vcpus available to the scheduler, which prevents ill-specified vcpus from
actually being scheduled.
Remove the MAX_VIRT_CPUS test, as it is not an appropriate bound for vcpu_id.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by Robert VanVossen <robert.vanvossen@dornerworks.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
for ( i = 0; i < schedule->num_sched_entries; i++ )
{
- /* Check for a valid VCPU ID and run time. */
- if ( (schedule->sched_entries[i].vcpu_id >= MAX_VIRT_CPUS)
- || (schedule->sched_entries[i].runtime <= 0) )
+ /* Check for a valid run time. */
+ if ( schedule->sched_entries[i].runtime <= 0 )
goto fail;
/* Add this entry's run time to total run time. */